2 Análisis numérico

2.1 Un data.frame ordenado por max(price) en función de carat.

##     carat max_price
##  1:  2.29     18823
##  2:  2.00     18818
##  3:  1.51     18806
##  4:  2.07     18804
##  5:  2.04     18795
##  6:  2.15     18791
##  7:  1.71     18791
##  8:  2.80     18788
##  9:  2.05     18787
## 10:  2.03     18781

2.2 Un data.frame ordenado por max(price) en función de color.

##    color max_price
## 1:     I     18823
## 2:     G     18818
## 3:     H     18803
## 4:     F     18791
## 5:     E     18731
## 6:     J     18710
## 7:     D     18693

2.3 Un data.frame ordenado por max(price) en función de cut.

##          cut max_price
## 1:   Premium     18823
## 2: Very Good     18818
## 3:     Ideal     18806
## 4:      Good     18788
## 5:      Fair     18574

2.4 Un data.frame ordenado por max(price) en función de clarity.

##    clarity max_price
## 1:     VS2     18823
## 2:     SI1     18818
## 3:      IF     18806
## 4:     SI2     18804
## 5:     VS1     18795
## 6:    VVS1     18777
## 7:    VVS2     18768
## 8:      I1     18531

2.5 Un data.frame ordenado por max(price) en función de carat y color.

##     carat color max_price
##  1:  2.29     I     18823
##  2:  2.00     G     18818
##  3:  1.51     G     18806
##  4:  2.07     G     18804
##  5:  2.00     H     18803
##  6:  2.00     I     18795
##  7:  2.04     H     18795
##  8:  1.71     F     18791
##  9:  2.15     G     18791
## 10:  2.80     G     18788

2.6 Un data.frame ordenado por max(price) en función de carat y cut.

##     carat       cut max_price
##  1:  2.29   Premium     18823
##  2:  2.00 Very Good     18818
##  3:  1.51     Ideal     18806
##  4:  2.07     Ideal     18804
##  5:  2.00   Premium     18795
##  6:  2.04   Premium     18795
##  7:  1.71   Premium     18791
##  8:  2.15     Ideal     18791
##  9:  2.80      Good     18788
## 10:  2.05     Ideal     18787

2.7 Un data.frame ordenado por max(price) en función de carat y clarity.

##     carat clarity max_price
##  1:  2.29     VS2     18823
##  2:  2.00     SI1     18818
##  3:  1.51      IF     18806
##  4:  2.07     SI2     18804
##  5:  2.29     SI1     18797
##  6:  2.00     VS1     18795
##  7:  2.04     SI1     18795
##  8:  1.71     VS2     18791
##  9:  2.15     SI2     18791
## 10:  2.80     SI2     18788

3 Análisis gráfico

3.1 Gráfico de puntos (scatter plot)

En el gráfico de puntos podemos observar que la relación entre el peso (carat) de los diamantes y el precio es exponencial.

3.1.1 Scatter plot con el color como tercera dimensión (cut)

Si introducimos una tercera dimensión en el gráfico por medio del color, a simple vista es díficil discernir que tipo de relación puede haber entre el precio y la calidad del diamante (Ideal cut > Fair cut). Este efecto es debido principalmente a qué un diamante por un corte muy inferior que tenga, si el peso es mucho mayor, el precio será a ser mayor. Es posible observar también unos cuantos outliers más pesados y la mayoría corresponden a diamantes con un Fair cut.

3.1.2 Inroducimos la tercera dimensión como facets

Esta forma de visualizar los datos es muy interesante. Ya que nos ha proporcionado la siguiente información:

  • El rango de precio de los diamantes no depende de la calidad del corte, vemos que prácticamente todos se mueven en el mismo rango

3.1.3 Introducimos el color como cuarta dimensión


3.1.4 Gráfico de cajas (box-whiskers plot)

Este tipo de gráfico nos permite visualizar directamente varias estadísticos de un conjunto de variables categóricas. Es una manera muy visual de, ver cual es la dispersión de una variable dependiente respecto a las features que queremos estudiar. También nos permite detectar de forma muy visual outliers en estas distribuciones.

-La caja representa el rango intercuartil de la distribución (la diferencia entre el Q3 y Q1, que son las “tapas” de la caja) -La barra en mitad de la caja representa el valor mediano de la distribución. -Los límites de los bigotes (“whiskers”) muestran los valores “máximos” (Q3: Percentil 75%) y “mínimos” (Q1: Percentil 25%) -Los puntos rojos, que son los puntos que están por fuera del rango de los bigotes, son los posibles outliers de la distribución.

3.1.4.1

El gráfico de cajas confirma la sospecha de que diamantes con peor corte tienen mayor precio medio. Aunque no pueda parecer lógico, como ya adelanté, el peso de los diamantes (carat) es un factor importante en el precio final.

3.1.4.2

Con el color ocurre exactamente lo mismo. En los siguientes apartados analizaremos los datos más profundamente para contestar a estas preguntas.


3.2 Respuestas para el análisis del gráfico de puntos

Antes de responder las preguntas i y ii de este apartado, vamos a realizar una exploración del conjunto de datos más en profundidad y a su vez contestar a la pregunta iii.

3.2.0.1 Histograma del conjunto de datos

Para realizar el Exploratory Data Analysis visual, empezamos haciendo un histograma para ver la cantidad de diamantes que hay en función de su peso.

Puede observarse como la mayoría de los diamantes tienen menos de 2 quilates y medio. También es interesante notar como tiende a haber más diamantes con pesos redondos (0.5, 1.0, 1.5 quilates, etc.), por lo que se puede intuir que el factor humano tiene cierta relevancia en el proceso de pulido de la gema.


## # A tibble: 11 x 2
##    `cut_width(carat, 0.5)`     n
##    <fct>                   <int>
##  1 [-0.25,0.25]              785
##  2 (0.25,0.75]             29498
##  3 (0.75,1.25]             15977
##  4 (1.25,1.75]              5313
##  5 (1.75,2.25]              2002
##  6 (2.25,2.75]               322
##  7 (2.75,3.25]                32
##  8 (3.25,3.75]                 5
##  9 (3.75,4.25]                 4
## 10 (4.25,4.75]                 1
## 11 (4.75,5.25]                 1

Un 98% de los diamantes tienen menos de 3 quilates. Por lo que vamos a volver explorar de nuevo los datos con este grupo más “reducido”.

3.2.0.2 Scatter plot del conjunto “reducido”


3.2.0.3 Transformación logarítmica

Aprovechando la relación exponencial entre price y carat. Vamos a realizar una transformación logarítmica de los datos para hacer una regresión lineal sobre las variables transformadas.

La regresión lineal sobre el conjunto transformado será de la siguiente forma:
\(\log_2(price) \sim log_2(carat)\)


Calculamos la regresión lineal sobre los datos transformados

Y a continuación pintamos las predicciones hechas, sobre el dataset original (deshaciendo la transformación logarítmica):

3.2.0.4 Resumen de la regresión

## 
## Call:
## lm(formula = log_price ~ log_carat, data = small_diam)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -1.96159 -0.24547 -0.00853  0.23955  1.93281 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 12.191490   0.001965  6205.6   <2e-16 ***
## log_carat    1.678830   0.001931   869.4   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.3774 on 53898 degrees of freedom
## Multiple R-squared:  0.9334, Adjusted R-squared:  0.9334 
## F-statistic: 7.559e+05 on 1 and 53898 DF,  p-value: < 2.2e-16

Vemos que el modelo tiene un valor de \(R^2 = 0.9334\), un estadístico F y un p-valor muy bajos lo cual quiere decir que la significancia estadística del log(carat) con respecto al log(precio) es muy alta.

La ventaja de este modelo, además es su simplicidad, porque además, al no tener en cuenta variables categóricas como cut color no hacen falta variables dummy con el aumento de parámetros que añadir a la regresión.

3.2.0.5 Análisis de los residuos

En el gráfico de los residuos que ha dejado el modelo model_diam podemos ver una distribución sin ninguna tendencia. Esto es una buena señal, ya que hemos conseguido normalizar la distribución de nuestros datos al realizar la transformación


3.2.1 Gráficos de cajas con respecto a los residuos

Volvemos a sacar los gráficos de cajas, pero esta vez con respecto a los residuos del precio. De esta forma, estamos eliminando la correlación que hay entre price y carat

3.2.1.1 Relación entre cut y price

Como hemos realizado una transformación la interpretabilidad del eje y del modelo no es inmediata. Como se trata de una transformación logarítmica \(2^1 = 2\) \(2^-1 = 1/2\) por lo que, un diamante que tiene un valor en y un punto por encima que otro vale el doble.

Conclusión: la tendencia es la que se esperaría en un principio. A mayor calidad en el corte mayor precio.

3.2.1.2 Relación entre color y price

Conclusión: A mayor calidad en el color mayor precio.